﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ExamAnalysis.Model
{
    public class MacroReportEntity
    {
        public int ClassID { get; set; }
        public string ClassName { get; set; }
        public int TheoryStudentCount { get; set; }
        public int ActualStudentsCount { get; set; }
        public decimal MaxScore { get; set; }
        public decimal MinScore { get; set; }
        public decimal AvgScore { get; set; }
        public decimal StdScore { get; set; }
        public decimal MADScore { get; set; }
        public int AvgScoreRank { get; set; }
        public decimal ExcellentRatio { get; set; }
        public int ExcellentRatioRank { get; set; }
        public decimal PassRatio { get; set; }
        public int PassRatioRank { get; set; }
        public decimal LowRatio { get; set; }
        public int LowRatioRank { get; set; }
        public decimal QuartileScore1 { get; set; }
        public decimal QuartileScore3 { get; set; }
        public decimal MedianScore { get; set; }
        public int Count1 { get; set; }
        public int Count2 { get; set; }
        public int Count3 { get; set; }
        public int Count4 { get; set; }
        public int Count5 { get; set; }
        public decimal ScoreRate { get; set; }
    }    
    public class MacroStudentReportEntity
    {
        public int StudentID { get; set; }
        public int ClassID { get; set; }
        public string ClassName { get; set; }
        public string ClassType { get; set; }
        public string StuCode { get; set; }
        public string StuName { get; set; }
        public string StuType { get; set; }
        public decimal Score { get; set; }
        public decimal StandardizedScore { get; set; }
        public int RankOfGrade { get; set; }
        public decimal PercentOfGrade { get; set; }
        public int RankOfClass { get; set; }
        public decimal PercentOfClass { get; set; }
        public int RankOfClassType { get; set; }
        public decimal PercentOfClassType { get; set; }
    }
    public class MicroReportEntity
    {
        public int ExamItemID { get; set; }
        public int ItemScore { get; set; }
        public string ItemName { get; set; }
        public int DifficultyLevel { get; set; }
        public decimal DiffenceDegree { get; set; }
        //区分度D=PH－PL
        //PH为高分组（即得分最高的27%）被试在该题上的通过率，PL为低分组（即得分最低的27%）被试在该题上的通过率
        public int KnowledgePointID { get; set; }
        public string KnowledgePointName { get; set; }
        public decimal KnowledgePointScoreRate { get; set; }
        public decimal ScoreRate { get; set; }
        public int WrongCount { get; set; }
        public int CorrectCount { get; set; }
        public int AnswerCount { get; set; }
        public int Reason1{ get; set; }
        public int Reason2 { get; set; }
        public int Reason3 { get; set; }
        public int Reason4 { get; set; }
        public decimal ReasonPercent1 { get; set; }
        public decimal ReasonPercent2 { get; set; }
        public decimal ReasonPercent3 { get; set; }
        public decimal ReasonPercent4 { get; set; }
        public int ChooseA { get; set; }
        public int ChooseB { get; set; }
        public int ChooseC { get; set; }
        public int ChooseD { get; set; }
        public decimal ChoosePercentA { get; set; }
        public decimal ChoosePercentB { get; set; }
        public decimal ChoosePercentC { get; set; }
        public decimal ChoosePercentD { get; set; }
    }
    public class MicroStudentReportEntity
    {
        public int ItemID { get; set; }
        public string ItemName { get; set; }
        public int ItemScore { get; set; }
        public decimal Score { get; set; }
        public int ReasonID { get; set; }
        public int Difficulty { get; set; }
        public string ReasonName { get; set; }
        public int KnowledgeID { get; set; }
        public string KnowledgeName { get; set; }
        public decimal KnowledgeScoreRate { get; set; }
    }
    public class CompareReportEntity
    {
        public int ClassID { get; set; }
        public string ClassName { get; set; }
        public int ExamID { get; set; }
        public string ExamName { get; set; }
        public decimal Score { get; set; }
        public int Rank { get; set; }
        public int CalendarID { get; set; }
        public string CalendarName { get; set; }
    }
    public class CompareStudentReportEntity
    {
        public int StudentID { get; set; }
        public string StudentCode { get; set; }
        public string StudentName { get; set; }
        public int ClassID { get; set; }
        public string ClassName { get; set; }
        public int ExamID { get; set; }
        public string ExamName { get; set; }
        public decimal Score { get; set; }
        public int ClassRank { get; set; }
        public int GradeRank { get; set; }
        public int CalendarID { get; set; }
        public string CalendarName { get; set; }
    }
}